home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 8 / FM Towns Free Software Collection 8.iso / t_os / support2 / sample.bas < prev    next >
BASIC Source File  |  1994-06-01  |  6KB  |  128 lines

  1. 10 GOTO *FORMAT
  2. 20 *FED_IN
  3. 30 FOR I=0 TO 15
  4. 40 FOR COL=0 TO 15
  5. 50 PALETTE COL,[PAL%(0,COL)*I,PAL%(1,COL)*I,PAL%(2,COL)*I]
  6. 60 NEXT
  7. 70 NEXT:RETURN
  8. 80 *FED_OUT
  9. 90 FOR I=15 TO 0 STEP -1
  10. 100 FOR COL=0 TO 15
  11. 110 PALETTE COL,[PAL%(0,COL)*I,PAL%(1,COL)*I,PAL%(2,COL)*I]
  12. 120 NEXT
  13. 130 NEXT:RETURN
  14. 140 *CONNECTL
  15. 150 CONNECT (X1,Y2)-(X1,Y1)-(X2,Y1),7,PSET
  16. 160 CONNECT (X2,Y1+1)-(X2,Y2)-(X1+1,Y2),%8,PSET
  17. 170 LINE(X1+1,Y1+1)-(X2-1,Y2-1),PSET,%7,BF
  18. 180 RETURN
  19. 190 *CONNECTL2
  20. 200 CONNECT (X1,Y2)-(X1,Y1)-(X2,Y1),7,PSET
  21. 210 CONNECT (X1+1,Y2-1)-(X1+1,Y1+1)-(X2-1,Y1+1),7,PSET
  22. 220 CONNECT (X2,Y1+1)-(X2,Y2)-(X1+1,Y2),%8,PSET
  23. 230 CONNECT (X2-1,Y1+2)-(X2-1,Y2-1)-(X1+2,Y2-1),%8,PSET
  24. 240 LINE (X1+2,Y1+2)-(X2-2,Y2-2),PSET,%3,BF
  25. 250 RETURN
  26. 260 *CONNECTLR
  27. 270 CONNECT (X1,Y2)-(X1,Y1)-(X2,Y1),%8,PSET
  28. 280 CONNECT (X2,Y1+1)-(X2,Y2)-(X1+1,Y2),7,PSET
  29. 290 LINE(X1+1,Y1+1)-(X2-1,Y2-1),PSET,%7,BF
  30. 300 RETURN
  31. 310 *CONNECTL2R
  32. 320 CONNECT (X1,Y2)-(X1,Y1)-(X2,Y1),%8,PSET
  33. 330 CONNECT (X1+1,Y2-1)-(X1+1,Y1+1)-(X2-1,Y1+1),%8,PSET
  34. 340 CONNECT (X2,Y1+1)-(X2,Y2)-(X1+1,Y2),7,PSET
  35. 350 CONNECT (X2-1,Y1+2)-(X2-1,Y2-1)-(X1+2,Y2-1),7,PSET
  36. 360 LINE (X1+2,Y1+2)-(X2-2,Y2-2),PSET,%7,BF
  37. 370 RETURN
  38. 380 *CONNECT
  39. 390 CONNECT (X1,Y2)-(X1,Y1)-(X2,Y1),7,PSET
  40. 400 CONNECT (X2,Y1+1)-(X2,Y2)-(X1+1,Y2),%8,PSET
  41. 410 RETURN
  42. 420 *CONNECT2
  43. 430 CONNECT (X1,Y2)-(X1,Y1)-(X2,Y1),7,PSET
  44. 440 CONNECT (X1+1,Y2-1)-(X1+1,Y1+1)-(X2-1,Y1+1),7,PSET
  45. 450 CONNECT (X2,Y1+1)-(X2,Y2)-(X1+1,Y2),%8,PSET
  46. 460 CONNECT (X2-1,Y1+2)-(X2-1,Y2-1)-(X1+2,Y2-1),%8,PSET
  47. 470 RETURN
  48. 480 *CONNECTR
  49. 490 CONNECT (X1,Y2)-(X1,Y1)-(X2,Y1),%8,PSET
  50. 500 CONNECT (X2,Y1+1)-(X2,Y2)-(X1+1,Y2),7,PSET
  51. 510 RETURN
  52. 520 *CONNECT2R
  53. 530 CONNECT (X1,Y2)-(X1,Y1)-(X2,Y1),%8,PSET
  54. 540 CONNECT (X1+1,Y2-1)-(X1+1,Y1+1)-(X2-1,Y1+1),%8,PSET
  55. 550 CONNECT (X2,Y1+1)-(X2,Y2)-(X1+1,Y2),7,PSET
  56. 560 CONNECT (X2-1,Y1+2)-(X2-1,Y2-1)-(X1+2,Y2-1),7,PSET
  57. 570 RETURN
  58. 580 *IDOU
  59. 590 MOUSE 2,AND1$,DOT1$
  60. 600 OWX(W)=WX(W):OWY(W)=WY(W)
  61. 610 HA=1:IX=MX-WX(W):IY=MY-WY(W):GET@A(WX(W),WY(W))-(WX(W)+LONG_X,WY(W)+LONG_Y),AWIN
  62. 620 MOUSE 4,IX,IY,639-(WX(W)+LONG_X-MX),479-(WY(W)+LONG_Y-MY)
  63. 630 WHILE MX+MY=OMX+OMY
  64. 640 MX=MOUSE(0):MY=MOUSE(1)
  65. 650 IF MOUSE(2,0)=-1 THEN ELSE GOTO *UNDEL
  66. 660 WEND
  67. 670 IF HA=1 THEN 690
  68. 680 LINE(OMX-IX,OMY-IY)-(OMX-IX+LONG_X,OMY-IY+LONG_Y),XOR,,B
  69. 690 LINE(MX-IX,MY-IY)-(MX-IX+LONG_X,MY-IY+LONG_Y),XOR,,B
  70. 700 OMX=MX:OMY=MY:HA=0:WX(W)=MX-IX:WY(W)=MY-IY:GOTO 630
  71. 710 *UNDEL 'このサブルーチンは使用してはいけない。
  72. 720 LINE(OMX-IX,OMY-IY)-(OMX-IX+LONG_X,OMY-IY+LONG_Y),XOR,,B
  73. 730 PUT@A(OWX(W),OWY(W))-(OWX(W)+LONG_X,OWY(W)+LONG_Y),BACK,,,,,BACK+W*30000
  74. 740 GOSUB *BACKSAVE
  75. 750 PUT@A(WX(W),WY(W))-(WX(W)+LONG_X,WY(W)+LONG_Y),AWIN
  76. 760 GET@A(0,0)-(639,479),IWIN
  77. 770 MOUSE 4,0,0,639,479:MOUSE 2,AND0$,DOT0$
  78. 780 RETURN
  79. 790 *BACKSAVE
  80. 800 GET@A(WX(W),WY(W))-(WX(W)+LONG_X,WY(W)+LONG_Y),BACK,30000*W
  81. 810 RETURN
  82. 820 *PUTB
  83. 830 PUT@A(WX(W),WY(W))-(WX(W)+LONG_X,WY(W2)+LONG_Y),BACK,,,,,W*30000
  84. 840 RETURN
  85. 850 *OPENWIN
  86. 860 LINE(WX1,WY1)-(WX2,WY2),PSET,7,BF:LINE(WX1,WY1)-(WX2,WY2),PSET,0,B
  87. 870 LINE(WX1,WY1)-(WX2,WY1+17),PSET,%3,BF:LINE(WX1,WY1)-(WX2,WY1+17),PSET,0,B
  88. 880 LINE(WX1,WY1)-(WX1+WN,WY1+17),PSET,0,BF
  89. 890 SYMBOL(WX1+20,WY1+3),MOJI$,.75!,.75!,7
  90. 900 LINE(WX1+2,WY1+2)-(WX1+15,WY1+15),PSET,7,BF
  91. 910 X1=WX1+2:Y1=WY1+2:X2=WX1+15:Y2=WY1+15:GOSUB *CONNECT
  92. 920 FOR I=0 TO 6
  93. 930 LINE(WX1+3,WY1+4+I*2)-(WX1+14,WY1+4+I*2),PSET,0
  94. 940 LINE(WX1+4+I*2,WY1+3)-(WX1+4+I*2,WY1+14),PSET,0
  95. 950 NEXT:RETURN
  96. 960 *FORMAT 'ディスクの初期化ではない。
  97. 970 W=0:CLEAR ,,,,,300*1024
  98. 980 WINDOW(0,0)-(1023,511):VIEW(0,0)-(1023,511)
  99. 990 SCREEN@ 0:CLS
  100. 1000 MOUSE 0:MOUSE 1,320,240,1:MOUSE 4,0,0,639,479
  101. 1010 AND0$=CHR$(&H7F,&HFF,&H3F,&HFF,&H1F,&HFF,&H0F,&HFF,&H07,&HFF,&H03,&HFF,&H01,&HFF,&H00,&HFF,&H00,&H7F,&H00,&H3F,&H00,&H1F,&H00,&HFF,&H00,&HFF,&H18,&H7F,&H38,&H7F,&HFC,&H7F)
  102. 1020 DOT0$=CHR$(&H00,&H00,&H00,&H00,&H40,&H00,&H20,&H00,&H50,&H00,&H38,&H00,&H5C,&H00,&H2E,&H00,&H5F,&H00,&H2F,&H80,&H5E,&H00,&H26,&H00,&H42,&H00,&H03,&H00,&H01,&H00,&H00,&H00)
  103. 1030 AND1$=CHR$(&HFE,&H7F,&HF0,&H0F,&HE0,&H07,&HE0,&H01,&H80,&H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00,&H80,&H00,&H80,&H00,&HC0,&H01,&HC0,&H01,&HE0,&H03,&HF0,&H07,&HFC,&H1F)
  104. 1040 DOT1$=CHR$(&H00,&H00,&H01,&H80,&H0D,&HB0,&H0D,&HB0,&H0D,&HB6,&H6D,&HB6,&H6F,&HF6,&H7F,&HFE,&H7F,&HFE,&H3F,&HFE,&H3F,&HFE,&H1F,&HFC,&H1F,&HFC,&H0F,&HF8,&H03,&HE0,&H00,&H00)
  105. 1050 AND2$=CHR$(&HFF,&HE7,&HFF,&H83,&HFE,&H01,&HF8,&H01,&HE0,&H21,&HC0,&H63,&H81,&HC3,&H07,&HC7,&H0F,&H87,&H0F,&H8F,&H0F,&H0F,&H9F,&H1F,&HF0,&H1F,&HE0,&H3F,&HF0,&H7F,&HF0,&HFF)
  106. 1060 DOT2$=CHR$(&H00,&H00,&H00,&H18,&H00,&H7C,&H01,&H8C,&H06,&H08,&H18,&H08,&H20,&H10,&H40,&H10,&H40,&H20,&H40,&H20,&H40,&H40,&H00,&H40,&H00,&H80,&H0F,&H00,&H00,&H00,&H00,&H00)
  107. 1070 MOUSE 2,AND0$,DOT0$
  108. 1080 DIM AWIN(40000),IWIN(40000),PAL%(2,15)
  109. 1090 DIM BACK(200000)
  110. 1100 LOAD@"palette2.pal",PAL%:SCREEN 0:GOSUB *FED_IN
  111. 1110 DEF FONT"システム   12ドット":LINE(0,0)-(639,479),PSET,%6,BF
  112. 1120 LINE( 245, 209)-( 389, 262),PSET,%3,BF
  113. 1130 X1= 245:Y1= 209:X2= 389:Y2= 262:GOSUB *CONNECT2
  114. 1140 SYMBOL( 282, 230),"ここを押して",.75!,.75!,7
  115. 1150 SYMBOL( 42, 462),"Sample program for NOI’z GUI Libralyョ layouter",.75!,.75!,1,,,4
  116. 10000 'ここから付け加え
  117. 10010 '
  118. 10020 WHILE MOUSE(2,0)=0:WEND:MX=MOUSE(0):MY=MOUSE(1)
  119. 10030 IF MX>=245 AND MY>=209 AND MX<=389 AND MY<=262 THEN *反応
  120. 10040 GOTO 10020
  121. 10050 *反応
  122. 10060 GOSUB *CONNECT2R
  123. 10070 WHILE MOUSE(2,0)=-1:MX=MOUSE(0):MY=MOUSE(1)
  124. 10080 IF MX>=245 AND MY>=209 AND MX<=389 AND MY<=262 ELSE GOSUB *CONNECT2:GOTO 10020
  125. 10090 WEND
  126. 10100 GOSUB *CONNECT2
  127. 10110 END
  128.